const jwt = require('jsonwebtoken');
const { jwtSecret } = require('../config/index.js');

/**
 * 验证JWT令牌
 * @param {string} token - JWT令牌
 * @returns {object} 解码后的令牌内容
 * @throws 当令牌无效或过期时抛出错误
 */
function verifyToken(token) {
  return jwt.verify(token.replace('Bearer ', ''), jwtSecret);
}

/**
 * 生成JWT令牌
 * @param {object} payload - 要编码的数据
 * @returns {string} 生成的JWT令牌
 */
function generateToken(payload) {
  return jwt.sign(payload, jwtSecret, { expiresIn: '2h' }); // 令牌2小时后过期
}

module.exports = { verifyToken, generateToken };